#include"stack.h"
#include"queue.h"
#include<vector>
#include<list>

namespace baka
{
	void test_stack01()
	{
		stack<int> st;
		st.push(1);
		st.push(2);
		st.push(3);
		st.push(4);
		st.push(5);
		st.pop();
		cout << st.top() << endl;
		cout << st.size() << endl;
		cout << st.empty() << endl;
	}
	void test_stack02()
	{
		stack<int, vector<int>> st;
		st.push(1);
		st.push(2);
		st.push(3);
		st.push(4);
		st.push(5);
		st.pop();
		cout << st.top() << endl;
		cout << st.size() << endl;
		cout << st.empty() << endl;
	}
	void test_stack03()
	{
		stack<int, list<int>> st;
		st.push(1);
		st.push(2);
		st.push(3);
		st.push(4);
		st.push(5);
		st.pop();
		cout << st.top() << endl;
		cout << st.size() << endl;
		cout << st.empty() << endl;
	}
	void test_queue01()
	{
		queue<int> q;
		q.push(1);
		q.push(2);
		q.push(3);
		q.push(4);
		q.push(5);
		q.pop();
		cout << q.back() << endl;
		cout << q.front() << endl;
		cout << q.size() << endl;
		cout << q.empty() << endl;
	}
	void test_queue02()
	{
		queue<int,list<int>> q;
		q.push(1);
		q.push(2);
		q.push(3);
		q.push(4);
		q.push(5);
		q.pop();
		cout << q.back() << endl;
		cout << q.front() << endl;
		cout << q.size() << endl;
		cout << q.empty() << endl;
	}
}

int main()
{
	baka::test_queue02();
	return 0;

}